home *** CD-ROM | disk | FTP | other *** search
/ Software Vault: The Gold Collection / Software Vault - The Gold Collection (American Databankers) (1993).ISO / cdr48 / vericard.zip / VC.PAS next >
Pascal/Delphi Source File  |  1993-04-19  |  2KB  |  81 lines

  1.  
  2. {$A-,B+,D-,E-,F-,I+,L-,N-,O-,R+,S+,V+}
  3. {$M 2048,0,4096}
  4.  
  5. program ValiCard;
  6.  
  7.   { Test routine for the Mod 10 Check Digit CC validator... }
  8.  
  9. uses
  10.   dos,
  11.   crt,
  12.   VeriCard;
  13.  
  14. var
  15.   card : string[22];
  16.   k : char;
  17.  
  18.   procedure Squawk(Noise : byte);
  19.   begin
  20.     case Noise of
  21.       1 : begin
  22.             Sound(400);
  23.             Delay(200);
  24.             Sound(200);
  25.             Delay(200);
  26.             Nosound
  27.           end;
  28.       2 : begin
  29.             Sound(392);
  30.             Delay(55);
  31.             Nosound;
  32.             Delay(30);
  33.             Sound(523);
  34.             Delay(55);
  35.             Nosound;
  36.             Delay(30);
  37.             Sound(659);
  38.             Delay(55);
  39.             Nosound;
  40.             Delay(30);
  41.             Sound(784);
  42.             Delay(277);
  43.             Nosound;
  44.             Delay(30);
  45.             Sound(659);
  46.             Delay(55);
  47.             Nosound;
  48.             Delay(30);
  49.             Sound(784);
  50.             Delay(1200);
  51.             Nosound
  52.           end
  53.     end                                { case }
  54.   end;
  55.  
  56. BEGIN
  57.   k := #0;
  58.   clrscr;
  59.   fillchar(card, 22, #0);
  60.   writeln('VC: Integer Modulo-10 Visa/Mastercard/Amex Check-Digit');
  61.   writeln('    verification routine. (c) 1990 Daniel J. Karnes');
  62.   writeln;
  63.   write('    Please enter a Credit Card number: ');
  64.   readln(card);
  65.   writeln;
  66.   writeln;
  67.   if (length(card) > 12) then
  68.     k := Vc(card);
  69.   if (k in ['3', '4', '5']) then
  70.     Squawk(2)
  71.   else
  72.     Squawk(1);
  73.   case k of
  74.     #0 : writeln('    Could NOT verify this number with any card type.');
  75.     '3' : writeln('    Card was verified as a valid Amex Card Number.');
  76.     '4' : writeln('    Card was verified as a valid VISA Card Number.');
  77.     '5' : writeln('    Card was verified as a valid Mastercard Number.')
  78.   end
  79. END.
  80.  
  81.